package edu.tfg.endereco;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;

import edu.tfg.cliente.Cliente;

public class EnderecoDAOHibernate implements EnderecoDAO{
	
	private Session sessao;

	@Override
	public void salvar(Endereco endereco) {
		this.sessao.save(endereco);		
	}
	
	public Session getSessao() {
		return sessao;
	}
	
	public void setSessao(Session sessao) {
		this.sessao = sessao;
	}

	@Override
	public List<Endereco> listar() {
		Criteria lista = sessao.createCriteria(Endereco.class);
		return lista.list();
	}

	@Override
	public void excluir(Endereco endereco) {
		this.sessao.delete(endereco);		
	}

	@Override
	public Endereco pesquisar(String string) {
		Query consultaNome = this.sessao
				.createQuery("from Endereco c where c.logradouro like :logradouro");
		consultaNome.setString("logradouro", "%" + string + "%");
		return (Endereco) consultaNome.uniqueResult();
	}

	@Override
	public void alterar(Endereco endereco) {
		this.sessao.update(endereco);
		
	}

	@Override
	public Cliente pesquisarPorCodigo(Integer codigoString) {
		// TODO Auto-generated method stub
		return null;
	}
	
	

}
